package com.example.movie.mate.web;

/**
 * 状态码枚举类，用于定义系统中常见的状态码
 */
public enum StateCode {

    OK(20000), // 成功状态，代码为20000
    ERROR_BAD_REQUEST(40000), // 请求错误，表示用户没有提交有效的请求参数，例如未提交或格式不正确
    ERROR_UNAUTHORIZED(40100), // 未授权状态，表示用户没有提供身份验证凭据或者身份验证失败
    ERROR_FORBIDDEN(40300), // 禁止访问状态，表示用户没有足够的权限访问指定的资源
    ERROR_NOT_FOUND(40400), // 不存在状态，表示请求的资源不存在
    ERROR_CONFLICT(40900), // 冲突状态，表示当前的请求与服务器的状态冲突
    ERROR_INTERNAL(50000), // 内部错误状态，表示服务器内部错误，例如程序抛出了未正确处理的异常
    ;

    // 状态码的值
    private int code;

    /**
     * 构造函数，初始化状态码的值
     *
     * @param code 状态码的值
     */
    StateCode(int code) {
        this.code = code;
    }

    /**
     * 获取状态码的值
     *
     * @return 状态码的值
     */
    public int getCode() {
        return code;
    }

}

